package com.game.doudizhu.model;

import lombok.Data;
import java.util.List;

@Data
public class PlayCardMessage {
    private Long playerId;
    private List<Long> cardIds;  // 要出的牌的ID列表
    private String playerName;   // 玩家名称
    private Long roomId;         // 房间ID
    
    // 用于记录出牌类型的枚举
    public enum PlayType {
        SINGLE,          // 单张
        PAIR,           // 对子
        TRIPLE,         // 三张
        TRIPLE_WITH_ONE, // 三带一
        TRIPLE_WITH_PAIR,// 三带对
        STRAIGHT,       // 顺子
        STRAIGHT_PAIR,  // 连对
        AIRPLANE,       // 飞机
        AIRPLANE_WITH_WINGS, // 飞机带翅膀
        BOMB,           // 炸弹
        ROCKET,         // 王炸
        INVALID         // 无效的牌型
    }
    
    private PlayType playType;   // 出牌类型
    
    public PlayCardMessage() {
    }
    
    public PlayCardMessage(Long playerId, List<Long> cardIds) {
        this.playerId = playerId;
        this.cardIds = cardIds;
    }
    
    public PlayCardMessage(Long playerId, List<Long> cardIds, String playerName, Long roomId) {
        this.playerId = playerId;
        this.cardIds = cardIds;
        this.playerName = playerName;
        this.roomId = roomId;
    }
} 